Implementation of the [Identify](https://github.com/libp2p/specs/blob/master/identify/README.md) protocol.
This implementation of the protocol periodically exchanges
[`Info`] messages between the peers on an established connection.
At least one identification request is sent on a newly established
connection, beyond which the behaviour does not keep connections alive.
# Important Discrepancies
- **Using Identify with other protocols** Unlike some other libp2p implementations,
rust-libp2p does not treat Identify as a core protocol. This means that other protocols cannot
rely upon the existence of Identify, and need to be manually hooked up to Identify in order to
make use of its capabilities.
# Usage
The [`Behaviour`] struct implements a [`NetworkBehaviour`](libp2p_swarm::NetworkBehaviour)
that negotiates and executes the protocol on every established connection, emitting
[`Event`]s.